﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApp1
{


    public class AlarmClock
    {
        // 定义Tick事件和Alarm事件
        public event EventHandler Tick;
        public event EventHandler Alarm;

        // 闹钟的响铃时间（秒）
        public int AlarmTime { get; set; }

        // 构造函数，初始化闹钟
        public AlarmClock(int alarmTime)
        {
            AlarmTime = alarmTime;
        }

        // 启动闹钟
        public void Start()
        {
            for (int i = 1; i <= AlarmTime; i++)
            {
                Thread.Sleep(1000); // 模拟每秒走时
                OnTick(); // 触发Tick事件

                if (i == AlarmTime)
                {
                    OnAlarm(); // 触发Alarm事件
                }
            }
        }

        // 触发Tick事件
        protected virtual void OnTick()
        {
            Tick?.Invoke(this, EventArgs.Empty);
        }

        // 触发Alarm事件
        protected virtual void OnAlarm()
        {
            Alarm?.Invoke(this, EventArgs.Empty);
        }
    }

}
